package com.music.music.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.music.common.core.annotation.Excel;
import com.music.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 音乐列表对象 music
 *
 * @author ruoyi
 * @date 2024-10-22
 */
public class Music extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 音乐编号 */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long musicId;

    /** 音乐名称 */
    @Excel(name = "音乐名称")
    private String musicName;

    /** 类型 */
    @Excel(name = "类型")
    private Integer musicType;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal musicPrice;

    /** 歌词 */
    @Excel(name = "歌词")
    private String musicWords;

    /** 描述 */
    @Excel(name = "描述")
    private String musicDesc;

    /** 音乐时间 */
    @Excel(name = "音乐时间")
    private Integer musicTime;

    /** 收藏数 */
    @Excel(name = "收藏数")
    private Integer musicCollect;

    /** 销量 */
    @Excel(name = "销量")
    private Integer musicSales;

    /** 图片 */
    @Excel(name = "图片")
    private String musicImage;

    /** 状态 */
    @Excel(name = "状态")
    private Integer musicStatus;

    /** 音频 */
    @Excel(name = "音频")
    private String musicAudio;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date musicCreateTime;

    public Music() {
    }

    public Music(Long musicId) {
        this.musicId = musicId;
    }

    public Music(Long musicId, Integer musicCollect) {
        this.musicId = musicId;
        this.musicCollect = musicCollect;
    }

    public void setMusicId(Long musicId) {
        this.musicId = musicId;
    }

    public Long getMusicId() {
        return musicId;
    }

    public void setMusicName(String musicName) {
        this.musicName = musicName;
    }

    public String getMusicName() {
        return musicName;
    }

    public void setMusicType(Integer musicType) {
        this.musicType = musicType;
    }

    public Integer getMusicType() {
        return musicType;
    }

    public void setMusicPrice(BigDecimal musicPrice) {
        this.musicPrice = musicPrice;
    }

    public BigDecimal getMusicPrice() {
        return musicPrice;
    }

    public void setMusicWords(String musicWords) {
        this.musicWords = musicWords;
    }

    public String getMusicWords() {
        return musicWords;
    }

    public void setMusicDesc(String musicDesc) {
        this.musicDesc = musicDesc;
    }

    public String getMusicDesc() {
        return musicDesc;
    }

    public void setMusicTime(Integer musicTime) {
        this.musicTime = musicTime;
    }

    public Integer getMusicTime() {
        return musicTime;
    }

    public void setMusicCollect(Integer musicCollect) {
        this.musicCollect = musicCollect;
    }

    public Integer getMusicCollect() {
        return musicCollect;
    }

    public void setMusicSales(Integer musicSales) {
        this.musicSales = musicSales;
    }

    public Integer getMusicSales() {
        return musicSales;
    }

    public void setMusicImage(String musicImage) {
        this.musicImage = musicImage;
    }

    public String getMusicImage() {
        return musicImage;
    }

    public void setMusicStatus(Integer musicStatus) {
        this.musicStatus = musicStatus;
    }

    public Integer getMusicStatus() {
        return musicStatus;
    }

    public void setMusicAudio(String musicAudio) {
        this.musicAudio = musicAudio;
    }

    public String getMusicAudio() {
        return musicAudio;
    }

    public void setMusicCreateTime(Date musicCreateTime) {
        this.musicCreateTime = musicCreateTime;
    }

    public Date getMusicCreateTime() {
        return musicCreateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("musicId", getMusicId())
                .append("musicName", getMusicName())
                .append("musicType", getMusicType())
                .append("musicPrice", getMusicPrice())
                .append("musicWords", getMusicWords())
                .append("musicDesc", getMusicDesc())
                .append("musicTime", getMusicTime())
                .append("musicCollect", getMusicCollect())
                .append("musicSales", getMusicSales())
                .append("musicImage", getMusicImage())
                .append("musicStatus", getMusicStatus())
                .append("musicAudio", getMusicAudio())
                .append("musicCreateTime", getMusicCreateTime())
                .toString();
    }
}
